package com.ywy.service;

import com.ywy.entity.User;

import java.util.List;

/**
 * 用户Service接口
 *
 * @author ywy
 * @date 2022/8/26 9:13
 */
public interface UserService {
    /**
     * 添加或者修改用户信息
     *
     * @param user
     */
    User save(User user);

    /**
     * 根据用户名查找用户实体
     *
     * @param username
     * @return
     */
    User getByUsername(String username);

    /**
     * 根据邮箱查找用户实体
     *
     * @param email
     * @return
     */
    User getByEmail(String email);

    /**
     * 根据id查找用户实体
     *
     * @param id
     * @return
     */
    User getById(Integer id);

    /**
     * 根据条件分页查询用户信息
     *
     * @param user
     * @param page
     * @param pageSize
     * @return
     */
    List<User> list(User user, Integer page, Integer pageSize);

    /**
     * 根据条件查询总记录数
     *
     * @param user
     * @return
     */
    long getTotal(User user);
}
